(function() {
    // 确保图表容器存在并有明确尺寸
    const chartDom = document.getElementById('boxplot_chart');
    if (!chartDom) {
        console.error('图表容器未找到，请检查HTML中的元素ID');
        return;
    }

    // 设置图表容器尺寸
    chartDom.style.width = '100%';
    chartDom.style.height = '600px';

    // 显示加载状态
    chartDom.innerHTML = '<div class="chart-loading">图表加载中...</div>';

    // 检查ECharts是否加载成功
    if (typeof echarts === 'undefined') {
        chartDom.innerHTML = '<div class="chart-error">ECharts库加载失败</div>';
        console.error('ECharts库未正确加载');
        return;
    }

    // 添加延迟执行确保DOM加载完成
    document.addEventListener('DOMContentLoaded', function() {
        try {
            // 初始化ECharts实例
            const myChart = echarts.init(chartDom);

            // 使用从模板传递过来的配置
            const option = chartOptions || {
                title: {
                    text: '不同状态书籍的周推荐数分布'
                },
                tooltip: {
                    trigger: 'item',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                xAxis: {
                    type: 'category',
                    data: []
                },
                yAxis: {
                    type: 'value',
                    name: '周推荐数'
                },
                series: [{
                    name: '周推荐数',
                    type: 'boxplot',
                    data: []
                }]
            };

            // 应用配置
            myChart.setOption(option);

            // 响应式调整
            window.addEventListener('resize', function() {
                myChart.resize();
            });

        } catch (error) {
            chartDom.innerHTML = '<div class="chart-error">图表初始化失败</div>';
            console.error('图表初始化失败:', error);
        }
    });
})();
